1 Primeros pasos

En este curso es necesario disponer de las las siguientes herramientas:

R

Es un sistema para computación estadística: software de análisis de datos y lenguaje de programación.

RStudio

Es un entorno de desarrollo integrado (IDE) ámpliamente utilizado para programar en R.

1.1 Instalación de R y RStudio

Desde la URL: https://posit.co/download/rstudio-desktop/ es posible descargarse tanto R como RStudio. Para RStudio, elegir la versión de escritorio Open Source Edition con la licencia Free.

1.2 Descripción de la interfaz de RStudio

1.2.1 La consola interactiva de R

Situada a la izquierda, permite a los usuarios dar instrucciones mediante comandos de R. El símbolo > se llama prompt.

R es interactivo, en el sentido de que responde a través de un “intérprete” a las entradas que recibe a través de la consola.

1.2.2 Editor

Podemos crear documentos ejecutables (scripts de R o notebooks de R), donde escribiremos instrucciones de R para ejecutarlas en un paso posterior.

1.2.3 Entorno e historia

Localizado en la esquina superior derecha.

  • Desde la pestaña Environment es posible ver los objetos de la sesión de trabajo actual (tablas con datos, variables, etc). También permite buscar y eliminar objetos de la sesión actual. Incluye las opciones de abrir, guardar e importar conjuntos de datos con los que trabajar (ficheros).

  • La pestaña History ofrece el conjunto de comandos R que se han ejecutado. Las opciones To Console y To Source permiten enviar las líneas seleccionadas a la consola o al editor, respectivamente. El símbolo de escoba permite limpiar la historia de comandos y el símbolo de lupa permite buscar comandos concretos.

1.2.4 Barra de Herramientas

En la parte inferior derecha, encontramos la barra de herramientas con distintas pestañas: Files/Plots/Packages/Help/Viewer.

  • La solapa Files permite gestionar el proyecto de R en el que nos encontremos y los ficheros y subcarpetas que contenga. Podremos crear nuevas carpetas (New Folder), así como renombrarlas o borrarlas (Delete y Rename).

  • La solapa Plots muestra los gráficos que se van generando y ofrece la posibilidad de eliminarlos y guardarlos en varios formatos (Export).

  • La solapa Packages permite instalar paquetes y cargarlos para poder usar sus funcionalidades.

  • La solapa Help permite buscar un paquete o función para consultar la ayuda y uso.

  • Por último, la solapa Viewer se puede emplear para visualizar páginas web locales y otro tipo de objetos.

1.2.5 Barra de menús

Otra barra de herramientas fundamental es la barra de menús situada en la parte superior de la interfaz. Encontramos distintos tipos de herramientas para realizar con RStudio. Por ejemplo, File permite crear nuevos ficheros de distintos tipos, como R Script, R notebook , etc, o abrirlos. Con Edit podremos acceder a las herramientas de copiar, cortar, pegar, deshacer, rehacer, buscar, limpiar, etc. El menú Code está dirigido a la programación. Encontraremos herramientas de ayuda para ficheros con código R (Scripts), por ejemplo para extraer o ejecutar partes específicas de código R, insertar bloques de comentarios, indentar automáticamente el código, etc. Build está centrado en la construcción de proyectos.

1.3 Escribir y ejecutar código en R

Hay dos formas principales de escribir y ejecutar código en R:

1.3.1 Scripts de R

Un script de R es un archivo de texto plano con extensión .R que contiene código de R. Los scripts de R se escriben en editores de texto o entornos de desarrollo integrado (IDEs) como RStudio. El código del Script se ejecuta secuencialmente desde el principio hasta el final, o manualmente instrucción a instrucción.

Se usan este tipo de documentos para tareas que requieren ejecución repetitiva y reproducible, como la preparación de datos y el análisis. Estos archivos se crean desde File --> New File --> R Script de la barra de herramientas general.

Los comentarios acerca del código dentro de un Script se escriben con el símbolo almohadilla #. Los comentarios no se consideran código R y por tanto no son ejecutados.

Finalmente, estos Scripts se pueden compilar para generar documentos en formatos html, pdf y doc que incluyen texto, código, resultados de las ejecuciones del código y visualizaciones gráficas.

1.3.2 Notebooks de R

Un notebook de R es un documento interactivo que mezcla código de R, resultados de ejecución, visualizaciones y texto formateado (Markdown). Se pueden crear y ejecutar en entornos como RStudio. Este tipo de documentos se usan para explicar el análisis y pre-procesamiento que se ha realizado a los datos, junto con los resultados de su ejecución.

Estos archivos de tipo notebook de R se crean desde File --> New File --> R Notebook de la barra de herramientas general. Su ejecución produce por ejemplo, un archivo HTML, PDF o Doc de Word.

La cabecera del archivo suele tener el siguiente diseño:

--- 
title: "Título del notebook" 
author: "Nombre del autor" 
output:     
  pdf_document: default
  html_document: default
  word_document: default 
---

El documento actual es un notebook de R con las siguientes opciones para la conversión a HTML:

--- 
title: "Título del notebook" 
author: "Nombre del autor" 
output:     
  html_document: 
    toc: true 
    number_sections: true 
---

1.4 Proyectos

La manera más eficiente de trabajar con R es mediante proyectos de RStudio. Un proyecto en RStudio ayuda a organizar el trabajo y facilita la gestión de archivos de datos, Scripts, paquetes y la configuración del entorno de trabajo.

1.4.1 Creación de Proyectos

Para crear un proyecto:

  • Hacemos clic en File en la barra de menú.

  • Seleccionamos New Project -> New Directory -> New Project y elegimos la ubicación del nuevo proyecto. Lo mejor es seleccionar un nuevo directorio. Elegir un nombre para el proyecto y seleccionar la ubicación en el sistema de archivos. La Opción Use renv with this project permite crear un entorno computacional para nuestro proyecto. Hablaremos de esto en la siguiente sección.

  • Si abres dicha ubicación con el explorador de archivos, podrás ver la carpeta con el proyecto recién creado.

Una vez creado, RStudio abrirá el nuevo proyecto. El archivo con la extensión .Rproj guarda todas las características del proyecto.

1.4.2 Abrir un proyecto

Para abrir un proyecto ya creado, hacemos clic en File en la barra de menú. Seleccionamos Open Project, y buscamos el archivo con la extensión .Rproj. Finalmente, hacemos doble click sobre él.

1.4.3 Configuración de proyectos en RStudio

Haz clic en Tools -> Global Options en la barra de menú.

Desmarcar la casilla de “Restore .RData into worspace at startup”. Con esto conseguimos que el espacio de trabajo no se restaure automáticamente cuando iniciemos una nueva sesión de RStudio.

Además, con la opción ‘Never’ en “Save workspace to .RData on exit” conseguimos que el espacio de trabajo no se guarde automáticamente al salir de RStudio. Así se evita que datos y objetos antiguos sean guardados y cargados en sesiones futuras, garantizando que cada sesión de RStudio comience con un entorno limpio y vacío.

1.4.4 Estructura de un proyecto

Es aconsejable crear siempre una estructura de carpetas que permita tener todo organizado desde el principio, porque al final los proyectos crecen. La estructura perfecta no existe, y depende del proyecto particular. Las siguientes carpetas pueden ser útiles en un amplio abanico de proyectos, y las tres primeras se pueden usar prácticamente en cualquier proyecto:

  • data: en esta carpeta se tienen los archivos de datos, tanto aquellos orígenes de datos que se quieran importar como los que se puedan guardar desde un script.

  • R: para los scripts de R. Son archivos con extensión .R. Es posible que solamente haya un script en nuestro proyecto, pero si hubiera más se pueden guardar en esta carpeta.

  • inform: aquí se pueden guardar los archivos R Markdown (con extensión .Rmd) que se utilicen para generar informes o presentaciones.

  • img: si en nuestro proyecto se utilizan imágenes de cualquier tipo, es una buena idea tenerlas en una carpeta independiente.

  • test: si se quieren separar los scripts que se utilicen para pruebas y no se quieren mezclar con los “buenos” en la carpeta R.

  • aux, tmp, util, notas, doc, …: este tipo de carpetas vienen bien cuando hay información que está relacionada o es útil para un proyecto, pero el archivo no es del proyecto de análisis de datos en sí. Por ejemplo, unas especificaciones de un producto o servicio, un artículo científico, fotografías de una fábrica, comunicaciones con clientes, etc.

1.4.5 Entornos computacionales

Lo normal es que cada proyecto use un conjunto de paquetes (con sus versiones específicas), y que dichos paquetes sean distintos para distintos proyectos. Lo más recomendable es guardar toda la información relativa a los paquetes que usa un proyecto, para poder replicar los análisis y resultados en otras máquinas. Esta información es lo que se llama entorno computacional del proyecto.

Para gestionar entornos computaciones de proyectos, usaremos el paquete de R renv. Este es un paquete de R diseñado para asegurar que los proyectos sean reproducibles y que las dependencias sean consistentes, independientemente de cambios en las versiones de los paquetes.

RStudio facilita el uso de renv proporcionando una interfaz gráfica para algunas de sus funcionalidades.

  • En la pestaña Files de nuestro proyecto se crea un archivo llamado renv.lock que contiene toda la información de los paquetes que usa el proyecto junto con las versiones.

  • Dentro de la pestaña Packages del proyecto podemos encontrar las opciones de Restore y Snapshot. Esto permite actualizar el archivo renv.lock con la situación actual del entorno (snapshot) y restaurar un entorno exactamente como estaba en un momento dado (restore) .

Características:

  • Los entornos se pueden compartir y transferir entre diferentes sistemas, lo que es útil para la colaboración y para mover proyectos entre diferentes máquinas.

  • Gestión de Dependencias: renv registra y gestiona todas las dependencias de paquetes de un proyecto, manteniendo el archivo de bloqueo (renv.lock) que describe las versiones exactas de los paquetes utilizados.

  • La ejecución del comando renv::status() en consola muestra el estado del entorno de paquetes del proyecto, indicando si hay diferencias entre el entorno actual y el archivo renv.lock. Es posible revisar el estado del entorno para verificar si el entorno actual coincide con el archivo renv.lock.

renv::status()

1.5 Corrección ortográfica en RStudio

Es posible usar RStudio como editor de texto. Para hacer una revisión ortográfica de los documentos desde RStudio, debemos hacer lo siguiente: ir al menú Tools –\> Global Options y luego ir a la opción spelling (ortografía). Elegir el diccionario a usar. Si no aparece el que buscas, se puede descargar. Por último, con la tecla de función F7 se realiza una revisión ortográfica del texto.